package lego.diagram.part;

import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import lego.Actioner;
import lego.ActionerPort;
import lego.Component;
import lego.LegoPackage;
import lego.LightSensor;
import lego.MicroSensor;
import lego.MotorActioner;
import lego.PicoNet;
import lego.Robot;
import lego.Root;
import lego.Sensor;
import lego.SensorPort;
import lego.TouchSensor;
import lego.UltraSoundSensor;
import lego.diagram.edit.parts.ActionerPortActionerEditPart;
import lego.diagram.edit.parts.ActionerPortEditPart;
import lego.diagram.edit.parts.LightSensorEditPart;
import lego.diagram.edit.parts.MicroSensorEditPart;
import lego.diagram.edit.parts.MotorActionerEditPart;
import lego.diagram.edit.parts.PicoNetEditPart;
import lego.diagram.edit.parts.PicoNetMasterEditPart;
import lego.diagram.edit.parts.PicoNetSlavesEditPart;
import lego.diagram.edit.parts.RobotEditPart;
import lego.diagram.edit.parts.RobotRobotFigureCompartmentEditPart;
import lego.diagram.edit.parts.RootEditPart;
import lego.diagram.edit.parts.SensorPortEditPart;
import lego.diagram.edit.parts.SensorPortSensorEditPart;
import lego.diagram.edit.parts.TouchSensorEditPart;
import lego.diagram.edit.parts.UltraSoundSensorEditPart;
import lego.diagram.providers.LegoElementTypes;

import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.gmf.tooling.runtime.update.DiagramUpdater;

/**
 * @generated
 */
public class LegoDiagramUpdater {

	/**
	 * @generated
	 */
	public static List<LegoNodeDescriptor> getSemanticChildren(View view) {
		switch (LegoVisualIDRegistry.getVisualID(view)) {
		case RootEditPart.VISUAL_ID:
			return getRoot_1000SemanticChildren(view);
		case RobotRobotFigureCompartmentEditPart.VISUAL_ID:
			return getRobotRobotFigureCompartment_7001SemanticChildren(view);
		}
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoNodeDescriptor> getRoot_1000SemanticChildren(
			View view) {
		if (!view.isSetElement()) {
			return Collections.emptyList();
		}
		Root modelElement = (Root) view.getElement();
		LinkedList<LegoNodeDescriptor> result = new LinkedList<LegoNodeDescriptor>();
		for (Iterator<?> it = modelElement.getComponents().iterator(); it
				.hasNext();) {
			Component childElement = (Component) it.next();
			int visualID = LegoVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == MicroSensorEditPart.VISUAL_ID) {
				result.add(new LegoNodeDescriptor(childElement, visualID));
				continue;
			}
			if (visualID == UltraSoundSensorEditPart.VISUAL_ID) {
				result.add(new LegoNodeDescriptor(childElement, visualID));
				continue;
			}
			if (visualID == TouchSensorEditPart.VISUAL_ID) {
				result.add(new LegoNodeDescriptor(childElement, visualID));
				continue;
			}
			if (visualID == LightSensorEditPart.VISUAL_ID) {
				result.add(new LegoNodeDescriptor(childElement, visualID));
				continue;
			}
			if (visualID == MotorActionerEditPart.VISUAL_ID) {
				result.add(new LegoNodeDescriptor(childElement, visualID));
				continue;
			}
		}
		for (Iterator<?> it = modelElement.getNetworks().iterator(); it
				.hasNext();) {
			PicoNet childElement = (PicoNet) it.next();
			int visualID = LegoVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == PicoNetEditPart.VISUAL_ID) {
				result.add(new LegoNodeDescriptor(childElement, visualID));
				continue;
			}
		}
		for (Iterator<?> it = modelElement.getRobots().iterator(); it.hasNext();) {
			Robot childElement = (Robot) it.next();
			int visualID = LegoVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == RobotEditPart.VISUAL_ID) {
				result.add(new LegoNodeDescriptor(childElement, visualID));
				continue;
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List<LegoNodeDescriptor> getRobotRobotFigureCompartment_7001SemanticChildren(
			View view) {
		if (false == view.eContainer() instanceof View) {
			return Collections.emptyList();
		}
		View containerView = (View) view.eContainer();
		if (!containerView.isSetElement()) {
			return Collections.emptyList();
		}
		Robot modelElement = (Robot) containerView.getElement();
		LinkedList<LegoNodeDescriptor> result = new LinkedList<LegoNodeDescriptor>();
		for (Iterator<?> it = modelElement.getActionerPorts().iterator(); it
				.hasNext();) {
			ActionerPort childElement = (ActionerPort) it.next();
			int visualID = LegoVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == ActionerPortEditPart.VISUAL_ID) {
				result.add(new LegoNodeDescriptor(childElement, visualID));
				continue;
			}
		}
		for (Iterator<?> it = modelElement.getSensorPorts().iterator(); it
				.hasNext();) {
			SensorPort childElement = (SensorPort) it.next();
			int visualID = LegoVisualIDRegistry.getNodeVisualID(view,
					childElement);
			if (visualID == SensorPortEditPart.VISUAL_ID) {
				result.add(new LegoNodeDescriptor(childElement, visualID));
				continue;
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getContainedLinks(View view) {
		switch (LegoVisualIDRegistry.getVisualID(view)) {
		case RootEditPart.VISUAL_ID:
			return getRoot_1000ContainedLinks(view);
		case MicroSensorEditPart.VISUAL_ID:
			return getMicroSensor_2001ContainedLinks(view);
		case PicoNetEditPart.VISUAL_ID:
			return getPicoNet_2002ContainedLinks(view);
		case UltraSoundSensorEditPart.VISUAL_ID:
			return getUltraSoundSensor_2003ContainedLinks(view);
		case TouchSensorEditPart.VISUAL_ID:
			return getTouchSensor_2004ContainedLinks(view);
		case LightSensorEditPart.VISUAL_ID:
			return getLightSensor_2005ContainedLinks(view);
		case RobotEditPart.VISUAL_ID:
			return getRobot_2006ContainedLinks(view);
		case MotorActionerEditPart.VISUAL_ID:
			return getMotorActioner_2007ContainedLinks(view);
		case ActionerPortEditPart.VISUAL_ID:
			return getActionerPort_3001ContainedLinks(view);
		case SensorPortEditPart.VISUAL_ID:
			return getSensorPort_3002ContainedLinks(view);
		}
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getIncomingLinks(View view) {
		switch (LegoVisualIDRegistry.getVisualID(view)) {
		case MicroSensorEditPart.VISUAL_ID:
			return getMicroSensor_2001IncomingLinks(view);
		case PicoNetEditPart.VISUAL_ID:
			return getPicoNet_2002IncomingLinks(view);
		case UltraSoundSensorEditPart.VISUAL_ID:
			return getUltraSoundSensor_2003IncomingLinks(view);
		case TouchSensorEditPart.VISUAL_ID:
			return getTouchSensor_2004IncomingLinks(view);
		case LightSensorEditPart.VISUAL_ID:
			return getLightSensor_2005IncomingLinks(view);
		case RobotEditPart.VISUAL_ID:
			return getRobot_2006IncomingLinks(view);
		case MotorActionerEditPart.VISUAL_ID:
			return getMotorActioner_2007IncomingLinks(view);
		case ActionerPortEditPart.VISUAL_ID:
			return getActionerPort_3001IncomingLinks(view);
		case SensorPortEditPart.VISUAL_ID:
			return getSensorPort_3002IncomingLinks(view);
		}
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getOutgoingLinks(View view) {
		switch (LegoVisualIDRegistry.getVisualID(view)) {
		case MicroSensorEditPart.VISUAL_ID:
			return getMicroSensor_2001OutgoingLinks(view);
		case PicoNetEditPart.VISUAL_ID:
			return getPicoNet_2002OutgoingLinks(view);
		case UltraSoundSensorEditPart.VISUAL_ID:
			return getUltraSoundSensor_2003OutgoingLinks(view);
		case TouchSensorEditPart.VISUAL_ID:
			return getTouchSensor_2004OutgoingLinks(view);
		case LightSensorEditPart.VISUAL_ID:
			return getLightSensor_2005OutgoingLinks(view);
		case RobotEditPart.VISUAL_ID:
			return getRobot_2006OutgoingLinks(view);
		case MotorActionerEditPart.VISUAL_ID:
			return getMotorActioner_2007OutgoingLinks(view);
		case ActionerPortEditPart.VISUAL_ID:
			return getActionerPort_3001OutgoingLinks(view);
		case SensorPortEditPart.VISUAL_ID:
			return getSensorPort_3002OutgoingLinks(view);
		}
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getRoot_1000ContainedLinks(View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getMicroSensor_2001ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getPicoNet_2002ContainedLinks(
			View view) {
		PicoNet modelElement = (PicoNet) view.getElement();
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		result.addAll(getOutgoingFeatureModelFacetLinks_PicoNet_Master_4002(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_PicoNet_Slaves_4003(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getUltraSoundSensor_2003ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getTouchSensor_2004ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getLightSensor_2005ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getRobot_2006ContainedLinks(View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getMotorActioner_2007ContainedLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getActionerPort_3001ContainedLinks(
			View view) {
		ActionerPort modelElement = (ActionerPort) view.getElement();
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		result.addAll(getOutgoingFeatureModelFacetLinks_ActionerPort_Actioner_4004(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getSensorPort_3002ContainedLinks(
			View view) {
		SensorPort modelElement = (SensorPort) view.getElement();
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		result.addAll(getOutgoingFeatureModelFacetLinks_SensorPort_Sensor_4001(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getMicroSensor_2001IncomingLinks(
			View view) {
		MicroSensor modelElement = (MicroSensor) view.getElement();
		Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		result.addAll(getIncomingFeatureModelFacetLinks_SensorPort_Sensor_4001(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getPicoNet_2002IncomingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getUltraSoundSensor_2003IncomingLinks(
			View view) {
		UltraSoundSensor modelElement = (UltraSoundSensor) view.getElement();
		Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		result.addAll(getIncomingFeatureModelFacetLinks_SensorPort_Sensor_4001(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getTouchSensor_2004IncomingLinks(
			View view) {
		TouchSensor modelElement = (TouchSensor) view.getElement();
		Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		result.addAll(getIncomingFeatureModelFacetLinks_SensorPort_Sensor_4001(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getLightSensor_2005IncomingLinks(
			View view) {
		LightSensor modelElement = (LightSensor) view.getElement();
		Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		result.addAll(getIncomingFeatureModelFacetLinks_SensorPort_Sensor_4001(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getRobot_2006IncomingLinks(View view) {
		Robot modelElement = (Robot) view.getElement();
		Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		result.addAll(getIncomingFeatureModelFacetLinks_PicoNet_Master_4002(
				modelElement, crossReferences));
		result.addAll(getIncomingFeatureModelFacetLinks_PicoNet_Slaves_4003(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getMotorActioner_2007IncomingLinks(
			View view) {
		MotorActioner modelElement = (MotorActioner) view.getElement();
		Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences = EcoreUtil.CrossReferencer
				.find(view.eResource().getResourceSet().getResources());
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		result.addAll(getIncomingFeatureModelFacetLinks_ActionerPort_Actioner_4004(
				modelElement, crossReferences));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getActionerPort_3001IncomingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getSensorPort_3002IncomingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getMicroSensor_2001OutgoingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getPicoNet_2002OutgoingLinks(
			View view) {
		PicoNet modelElement = (PicoNet) view.getElement();
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		result.addAll(getOutgoingFeatureModelFacetLinks_PicoNet_Master_4002(modelElement));
		result.addAll(getOutgoingFeatureModelFacetLinks_PicoNet_Slaves_4003(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getUltraSoundSensor_2003OutgoingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getTouchSensor_2004OutgoingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getLightSensor_2005OutgoingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getRobot_2006OutgoingLinks(View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getMotorActioner_2007OutgoingLinks(
			View view) {
		return Collections.emptyList();
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getActionerPort_3001OutgoingLinks(
			View view) {
		ActionerPort modelElement = (ActionerPort) view.getElement();
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		result.addAll(getOutgoingFeatureModelFacetLinks_ActionerPort_Actioner_4004(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	public static List<LegoLinkDescriptor> getSensorPort_3002OutgoingLinks(
			View view) {
		SensorPort modelElement = (SensorPort) view.getElement();
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		result.addAll(getOutgoingFeatureModelFacetLinks_SensorPort_Sensor_4001(modelElement));
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection<LegoLinkDescriptor> getIncomingFeatureModelFacetLinks_SensorPort_Sensor_4001(
			Sensor target,
			Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) {
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		Collection<EStructuralFeature.Setting> settings = crossReferences
				.get(target);
		for (EStructuralFeature.Setting setting : settings) {
			if (setting.getEStructuralFeature() == LegoPackage.eINSTANCE
					.getSensorPort_Sensor()) {
				result.add(new LegoLinkDescriptor(setting.getEObject(), target,
						LegoElementTypes.SensorPortSensor_4001,
						SensorPortSensorEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection<LegoLinkDescriptor> getIncomingFeatureModelFacetLinks_PicoNet_Master_4002(
			Robot target,
			Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) {
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		Collection<EStructuralFeature.Setting> settings = crossReferences
				.get(target);
		for (EStructuralFeature.Setting setting : settings) {
			if (setting.getEStructuralFeature() == LegoPackage.eINSTANCE
					.getPicoNet_Master()) {
				result.add(new LegoLinkDescriptor(setting.getEObject(), target,
						LegoElementTypes.PicoNetMaster_4002,
						PicoNetMasterEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection<LegoLinkDescriptor> getIncomingFeatureModelFacetLinks_PicoNet_Slaves_4003(
			Robot target,
			Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) {
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		Collection<EStructuralFeature.Setting> settings = crossReferences
				.get(target);
		for (EStructuralFeature.Setting setting : settings) {
			if (setting.getEStructuralFeature() == LegoPackage.eINSTANCE
					.getPicoNet_Slaves()) {
				result.add(new LegoLinkDescriptor(setting.getEObject(), target,
						LegoElementTypes.PicoNetSlaves_4003,
						PicoNetSlavesEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection<LegoLinkDescriptor> getIncomingFeatureModelFacetLinks_ActionerPort_Actioner_4004(
			Actioner target,
			Map<EObject, Collection<EStructuralFeature.Setting>> crossReferences) {
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		Collection<EStructuralFeature.Setting> settings = crossReferences
				.get(target);
		for (EStructuralFeature.Setting setting : settings) {
			if (setting.getEStructuralFeature() == LegoPackage.eINSTANCE
					.getActionerPort_Actioner()) {
				result.add(new LegoLinkDescriptor(setting.getEObject(), target,
						LegoElementTypes.ActionerPortActioner_4004,
						ActionerPortActionerEditPart.VISUAL_ID));
			}
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection<LegoLinkDescriptor> getOutgoingFeatureModelFacetLinks_SensorPort_Sensor_4001(
			SensorPort source) {
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		Sensor destination = source.getSensor();
		if (destination == null) {
			return result;
		}
		result.add(new LegoLinkDescriptor(source, destination,
				LegoElementTypes.SensorPortSensor_4001,
				SensorPortSensorEditPart.VISUAL_ID));
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection<LegoLinkDescriptor> getOutgoingFeatureModelFacetLinks_PicoNet_Master_4002(
			PicoNet source) {
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		Robot destination = source.getMaster();
		if (destination == null) {
			return result;
		}
		result.add(new LegoLinkDescriptor(source, destination,
				LegoElementTypes.PicoNetMaster_4002,
				PicoNetMasterEditPart.VISUAL_ID));
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection<LegoLinkDescriptor> getOutgoingFeatureModelFacetLinks_PicoNet_Slaves_4003(
			PicoNet source) {
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		for (Iterator<?> destinations = source.getSlaves().iterator(); destinations
				.hasNext();) {
			Robot destination = (Robot) destinations.next();
			result.add(new LegoLinkDescriptor(source, destination,
					LegoElementTypes.PicoNetSlaves_4003,
					PicoNetSlavesEditPart.VISUAL_ID));
		}
		return result;
	}

	/**
	 * @generated
	 */
	private static Collection<LegoLinkDescriptor> getOutgoingFeatureModelFacetLinks_ActionerPort_Actioner_4004(
			ActionerPort source) {
		LinkedList<LegoLinkDescriptor> result = new LinkedList<LegoLinkDescriptor>();
		Actioner destination = source.getActioner();
		if (destination == null) {
			return result;
		}
		result.add(new LegoLinkDescriptor(source, destination,
				LegoElementTypes.ActionerPortActioner_4004,
				ActionerPortActionerEditPart.VISUAL_ID));
		return result;
	}

	/**
	 * @generated
	 */
	public static final DiagramUpdater TYPED_INSTANCE = new DiagramUpdater() {
		/**
		 * @generated
		 */
		@Override
		public List<LegoNodeDescriptor> getSemanticChildren(View view) {
			return LegoDiagramUpdater.getSemanticChildren(view);
		}

		/**
		 * @generated
		 */
		@Override
		public List<LegoLinkDescriptor> getContainedLinks(View view) {
			return LegoDiagramUpdater.getContainedLinks(view);
		}

		/**
		 * @generated
		 */
		@Override
		public List<LegoLinkDescriptor> getIncomingLinks(View view) {
			return LegoDiagramUpdater.getIncomingLinks(view);
		}

		/**
		 * @generated
		 */
		@Override
		public List<LegoLinkDescriptor> getOutgoingLinks(View view) {
			return LegoDiagramUpdater.getOutgoingLinks(view);
		}
	};

}
